import { $post as postData} from '@/utils/request'
export function add1(){
	/*
	
	*/
	let aa = {
		html: 1,
		css: 12,
		JavaScript: 17,
		Vue: 18,
		applet: 21
	};
	let htmlList = [
		{
			type: 'html',
			id: 'h-1',
			sort: 101,
			name: '前端简介,基础标签',
			description: '了解web前端岗位职责,熟悉meta标签的用途',
			learnMore: [
				{
					id: 1,
					title: 'web前端简介',
					url: 'https://blog.csdn.net/Chen_Wei_Sheng/article/details/126579664'
				},
				{
					id: 2,
					title: 'meta标签',
					url: 'https://www.jianshu.com/p/6549bec5d0e1'
				}
			],
			caseList: []
		},
		{
			type: 'html',
			id: 'h-2',
			sort: 102,
			name: '文本标签',
			description: '学习基础的文本标签,并且了解语义化的概念与用途',
			learnMore: [
				{
					id: 1,
					title: '文本标签',
					url: 'https://baijiahao.baidu.com/s?id=1731885110338064537&wfr=spider&for=pc'
				}
			],
			caseList: [
				{
					id: 1,
					title: '对话',
					url: 'zy/html/HTML-duihua'
				}
			]
		},
		{
			type: 'html',
			id: 'h-3',
			sort: 103,
			name: '布局标签',
			description: '学习基础的布局标签,以及图片标签,图片路径的使用',
			learnMore: [
				{
					id: 1,
					title: '列表标签',
					url: 'https://blog.csdn.net/m0_61794291/article/details/122593711'
				},
				{
					id: 2,
					title: '图片路径',
					url: 'https://blog.csdn.net/li12632/article/details/125469284'
				},
				{
					id: 3,
					title: '语义化',
					url: 'https://blog.csdn.net/jewfer/article/details/122506162'
				}
			],
			caseList: [
				{
					id: 1,
					title: '明星',
					url: 'zy/html/HTML-superstar'
				}
			]
		},
		{
			type: 'html',
			id: 'h-4',
			sort: 104,
			name: '表格(table)',
			description: '学习表格系列标签,并且完成简单或者复杂的表格',
			learnMore: [
				{
					id: 1,
					title: '表格标签的使用',
					url: 'https://www.runoob.com/tags/tag-table.html'
				},
				{
					id: 2,
					title: '表格标签详解',
					url: 'https://www.cnblogs.com/kuangsun125/p/15766856.html'
				}
			],
			caseList: [
				{
					id: 1,
					title: '个人简历',
					url: 'zy/html/HTML-table'
				}
			]
		},
		{
			type: 'html',
			id: 'h-5',
			sort: 105,
			name: '表单(form)',
			description: '学习表单系列标签,并且完成简单表单布局',
			learnMore: [
				{
					id: 1,
					title: '表单详解',
					url: 'https://www.ngui.cc/el/1459336.html?action=onClick'
				}
			],
			caseList: [
				{
					id: 1,
					title: '表单练习',
					url: 'zy/html/HTML-form'
				}
			]
		}
	];
	let cssList = [
		{
			type: 'css',
			id: 'c-1',
			sort: 201,
			name: '选择器(Selectors)',
			description: '学习基础选择器,复合选择器,并且了解选择器的权重',
			learnMore: [
				{
					id: 1,
					title: '更多选择器',
					url: 'https://www.w3school.com.cn/cssref/css_selectors.asp'
				},
				{
					id: 2,
					title: 'css选择器详解',
					url: 'https://blog.csdn.net/weixin_62255399/article/details/126030848'
				},
				{
					id: 3,
					title: '选择器权重',
					url: 'https://zhuanlan.zhihu.com/p/380963644'
				}
			],
			caseList: [
				{
					id: 1,
					title: '初识选择器',
					url: 'zy/css/CSS-selector'
				}
			]
		},
		{
			type: 'css',
			id: 'c-2',
			sort: 202,
			name: '文字样式(TextStyle)',
			description: '学习基础的文字样式,能够对文字进行居中操作',
			learnMore: [
				{
					id: 1,
					title: '文字样式详解',
					url: 'https://www.jianshu.com/p/a47bc2af9e84'
				}
			],
			caseList: [
				{
					id: 1,
					title: '文本样式',
					url: 'zy/css/CSS-textstyle'
				},
				{
					id: 2,
					title: '颜色表',
					url: 'zy/css/CSS-color'
				}
			]
		},
		{
			type: 'css',
			id: 'c-3',
			sort: 203,
			name: '盒子模型(BoxModel)',
			description: '了解盒子模型的改变,并且熟悉盒子模型的样式,以及盒子的居中',
			learnMore: [
				{
					id: 1,
					title: '盒子模型详解',
					url: 'https://blog.csdn.net/weixin_43183219/article/details/122091189'
				}
			],
			caseList: [
				{
					id: 1,
					title: '盒子模型',
					url: 'zy/css/CSS-boxModel'
				}
			]
		},
		{
			type: 'css',
			id: 'c-4',
			sort: 204,
			name: '背景(background)',
			description: '学习设置背景图片,以及调节背景图片的样式',
			learnMore: [
				{
					id: 1,
					title: '背景图片详解',
					url: 'https://www.cnblogs.com/qianguyihao/p/8277895.html'
				},
				{
					id: 2,
					title: 'object-fit与object-position',
					url: 'https://www.jb51.net/css/585291.html'
				}
			],
			caseList: [
				{
					id: 1,
					title: '背景内外边距',
					url: 'zy/css/CSS-bgimage'
				}
			]
		},
		{
			type: 'css',
			id: 'c-5',
			sort: 205,
			name: '元素分类(elementType)',
			description: '学习元素各个类型的区别,已经各个类型互相转换',
			learnMore: [
				{
					id: 1,
					title: ' 元素类型',
					url: 'https://zhuanlan.zhihu.com/p/389055037'
				}
			],
			caseList: [
				{
					id: 1,
					title: '元素分类',
					url: 'zy/css/CSS-elementType'
				}
			]
		},
		{
			type: 'css',
			id: 'c-6',
			sort: 206,
			name: '圆角阴影渐变',
			description: '学习圆角阴影渐变等样式的使用',
			learnMore: [
				{
					id: 1,
					title: '圆角阴影渐变详解',
					url: 'https://blog.csdn.net/qq_43547376/article/details/117985156'
				},
				{
					id: 2,
					title: '幻影水珠',
					url: 'https://www.bilibili.com/video/av886711807/?vd_source=1a56e48c63d7ce008832492049f44156'
				}
			],
			caseList: [
				{
					id: 1,
					title: '太极',
					url: 'zy/css/CSS-taiji'
				},
				{
					id: 2,
					title: '渐变表',
					url: 'zy/css/CSS-gradient'
				}
			]
		},
		{
			type: 'css',
			id: 'c-7',
			sort: 207,
			name: '浮动(float)',
			description: '学习使用float布局,并且复习一下圆角阴影渐变属性',
			learnMore: [
				{
					id: 1,
					title: '浮动的介绍',
					url: 'https://baike.baidu.com/item/CSS%E6%B5%AE%E5%8A%A8/2112754'
				},
				{
					id: 2,
					title: '文档流、浮动布局、流式布局、定位布局、flex布局、响应布局',
					url: 'https://www.cnblogs.com/dillonmei/p/12551736.html'
				}
			],
			caseList: [
				{
					id: 1,
					title: '手机商城',
					url: 'zy/css/CSS-float'
				}
			]
		},
		{
			type: 'css',
			id: 'c-8',
			sort: 208,
			name: '定位(postiont)',
			description: '学习postiont,并且使用定位进行居中,了解各个定位属性的特点',
			learnMore: [
				{
					id: 1,
					title: '定位详解',
					url: 'https://zhuanlan.zhihu.com/p/56153667'
				},
				{
					id: 2,
					title: '定位详解2',
					url: 'https://jishuin.proginn.com/p/763bfbd5ffff'
				},
				{
					id: 3,
					title: 'CSS 搞事技巧：hover+active',
					url: 'https://juejin.cn/post/6844903811446751246'
				},
				{
					id: 4,
					title: '鼠标hover下拉菜单',
					url: 'https://juejin.cn/post/7105880963183280142'
				}
			],
			caseList: [
				{
					id: 1,
					title: '模拟京东',
					url: 'zy/css/CSS-JD'
				}
			]
		},
		{
			type: 'css',
			id: 'c-9',
			sort: 209,
			name: '过渡(transition)',
			description: '学习transition,并且能用其完成动画',
			learnMore: [
				{
					id: 1,
					title: '过渡',
					url: 'https://www.runoob.com/css3/css3-transitions.html'
				}
			],
			caseList: [
				{
					id: 1,
					title: 'css轮播图',
					url: 'zy/css/CSS-autoplay'
				}
			]
		},
		{
			type: 'css',
			id: 'c-10',
			sort: 210,
			name: '变幻属性(Transformers)',
			description: '学习元素变幻属性',
			learnMore: [
				{
					id: 1,
					title: '变幻与3D变幻',
					url: 'http://www.noobyard.com/article/p-zczrdgzh-og.html'
				},
				{
					id: 2,
					title: 'css实现图标变幻',
					url: 'http://www.noobyard.com/article/p-zczrdgzh-og.html'
				},
				{
					id: 3,
					title: 'CSS八种让人眼前一亮的HOVER效果',
					url: 'https://juejin.cn/post/6861501624993447950'
				}
			],
			caseList: [
				{
					id: 1,
					title: '变形金刚',
					url: 'zy/css/CSS-Transformers'
				},
				{
					id: 2,
					title: 'css时钟',
					url: 'zy/css/CSS-time'
				}
			]
		},
		{
			type: 'css',
			id: 'c-11',
			sort: 211,
			name: '3D变幻属性(3DTransformers)',
			description: '学习3D变幻',
			learnMore: [
				{
					id: 1,
					title: '变幻与3D变幻',
					url: 'http://www.noobyard.com/article/p-zczrdgzh-og.html'
				},
				{
					id: 2,
					title: 'css3d变幻',
					url: 'https://www.runoob.com/css3/css3-3dtransforms.html'
				}
			],
			caseList: [
				{
					id: 1,
					title: '3D美女展示',
					url: 'zy/css/CSS-3D'
				}
			]
		},
		{
			type: 'css',
			id: 'c-12',
			sort: 212,
			name: 'Flex布局(flex)',
			description: '学习使用flex布局,并且了解flex应用场景',
			learnMore: [
				{
					id: 1,
					title: 'Flex布局',
					url: 'https://www.ruanyifeng.com/blog/2015/07/flex-grammar.html'
				}
			],
			caseList: [
				{
					id: 1,
					title: '色子六面',
					url: 'zy/css/CSS-shaizi'
				},
				{
					id: 2,
					title: '麻将筒子',
					url: 'zy/css/CSS-majiang'
				},
				{
					id: 3,
					title: 'flex小游戏',
					url: 'https://flexboxfroggy.com/'
				}
			]
		},
		{
			type: 'css',
			id: 'c-13',
			sort: 213,
			name: '滤镜(filter)',
			description: '学习使用滤镜,并且了解flex应用场景',
			learnMore: [
				{
					id: 1,
					title: '滤镜介绍',
					url: 'https://www.wenjiangs.com/article/10-css3-filter.html'
				},
				{
					id: 2,
					title: '滤镜特效案例',
					url: 'https://blog.csdn.net/qq_38974163/article/details/120343022'
				}
			],
			caseList: [
				{
					id: 1,
					title: '手机充电效果',
					url: 'zy/css/CSS-filter'
				}
			]
		},
		{
			type: 'css',
			id: 'c-14',
			sort: 214,
			name: 'clip-path裁剪',
			description: '学习使用clip-path,并且使用clip-path完成动画',
			learnMore: [
				{
					id: 1,
					title: 'clip-path基本使用',
					url: 'https://juejin.cn/post/7163075335058096141#heading-3'
				},
				{
					id: 2,
					title: 'clip-path详解',
					url: 'https://juejin.cn/post/6844903439374221325#heading-2'
				},
				{
					id: 3,
					title: 'clip-path生成器',
					url: 'http://tools.jb51.net/code/css3path'
				}
			],
			caseList: [
				{
					id: 1,
					title: 'clip-path动画',
					url: 'zy/css/CSS-clip-path'
				}
			]
		}
	];
	let jsList = [
		{
			type: 'JavaScript',
			sort: 301,
			id: 'j-1',
			name: 'JS基础与变量',
			description: '了解JavaScript发展历史,以及各种弹出框使用,能够使用变量存储数据',
			learnMore: [
				{
					id: 1,
					title: 'js发展史',
					url: 'https://zhuanlan.zhihu.com/p/474647544'
				},
				{
					id: 2,
					title: 'console详解',
					url: 'https://blog.csdn.net/weixin_45849072/article/details/109532608'
				},
				{
					id: 3,
					title: 'js变量',
					url: 'https://www.w3school.com.cn/js/js_variables.asp'
				},
				{
					id: 4,
					title: 'console.log详解',
					url: 'https://blog.csdn.net/a460550542/article/details/115894680'
				},
				{
					id: 5,
					title: 'console.log 输出五彩斑斓的黑',
					url: 'https://juejin.cn/post/7087192401978064933'
				}
			],
			caseList: [
				{
					id: 1,
					title: '个人信息录入',
					url: 'zy/js/JS-first'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 302,
			id: 'j-2',
			name: 'JS数据类型与运算符',
			description: '学习js里面有哪些数据类型,并且使用各种运算符完成代码',
			learnMore: [
				{
					id: 1,
					title: 'js数据类型',
					url: 'https://www.jianshu.com/p/54c6d2ea7b3b'
				},
				{
					id: 2,
					title: 'js运算符',
					url: 'https://zhuanlan.zhihu.com/p/143880575'
				},
				{
					id: 3,
					title: 'js流程控制与循环',
					url: 'https://www.jianshu.com/p/29d00a6e5ebc'
				}
			],
			caseList: [
				{
					id: 1,
					title: '案例练习',
					url: 'zy/js/JS-day2'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 303,
			id: 'j-3',
			name: 'JS循环',
			description: '学习js里面有哪些数据类型,并且使用各种运算符完成代码',
			learnMore: [
				{
					id: 1,
					title: 'js流程控制与循环',
					url: 'https://www.jianshu.com/p/29d00a6e5ebc'
				},
				{
					id: 2,
					title: 'js循环拓展',
					url: 'https://segmentfault.com/a/1190000039667262'
				}
			],
			caseList: [
				{
					id: 1,
					title: '循环练习',
					url: 'zy/js/JS-loopWork'
				},
				{
					id: 2,
					title: '正反99乘法表',
					url: 'zy/js/JS-99table'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 304,
			id: 'j-4',
			name: 'JS引用数据类型',
			description: '详细了解引用数据类型的创建使用',
			learnMore: [
				{
					id: 1,
					title: 'js引用数据类型',
					url: 'https://m.php.cn/article/484543.html'
				},
				{
					id: 2,
					title: 'js函数基础',
					url: 'https://www.w3school.com.cn/js/js_functions.asp'
				},
				{
					id: 3,
					title: 'js函数柯里化',
					url: 'https://developer.aliyun.com/article/900316'
				},
				{
					id: 4,
					title: 'js高阶函数',
					url: 'https://zhuanlan.zhihu.com/p/49579052'
				}
			],
			caseList: [
				{
					id: 1,
					title: '数组练习',
					url: 'zy/js/JS-arrWork'
				},
				{
					id: 2,
					title: '函数练习',
					url: 'zy/js/JS-functionWork'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 305,
			id: 'j-5',
			name: 'JS作用域',
			description: '了解作用域以及作用域链,以及闭包的概念优缺点',
			learnMore: [
				{
					id: 1,
					title: 'js作用域',
					url: 'https://www.cnblogs.com/BAHG/p/14626729.html'
				},
				{
					id: 2,
					title: 'js闭包',
					url: 'https://zhuanlan.zhihu.com/p/22486908'
				}
			],
			caseList: [
				{
					id: 1,
					title: '作用域练习下载',
					url: 'http://image.hnclove.com/hnclove/TitleScope.docx'
				},
				{
					id: 2,
					title: '作用域练习答案解析',
					url: 'https://juejin.cn/post/6844904184962105357'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 306,
			id: 'j-6',
			name: 'DOM操作',
			description: '了解dom的构成,以及dom api,并且学会各种编程思路进行dom操作',
			learnMore: [
				{
					id: 1,
					title: 'jsDOM操作',
					url: 'https://www.jianshu.com/p/4c1044a74a53'
				},
				{
					id: 2,
					title: 'classList操作类名',
					url: 'https://blog.csdn.net/xiaohanzhu000/article/details/81124647'
				}
			],
			caseList: [
				{
					id: 1,
					title: 'DOM练习',
					url: 'zy/js/JS-DOMWork'
				},
				{
					id: 2,
					title: '背景切换',
					url: 'zy/js/JS-DOMbgtab'
				},
				{
					id: 3,
					title: '文字大小变化',
					url: 'zy/js/JS-DOMtextchange'
				},
				{
					id: 4,
					title: '双层选项卡',
					url: 'zy/js/JS-DOMDubuleTab'
				},
				{
					id: 5,
					title: '二级下拉菜单',
					url: 'zy/js/JS-DOMTwoMenu'
				},
				{
					id: 6,
					title: '五星好评',
					url: 'zy/js/JS-DOMstar'
				},
				{
					id: 7,
					title: '全选反选',
					url: 'zy/js/JS-DOMcheck'
				},
				{
					id: 8,
					title: '自定义复选框',
					url: 'zy/js/JS-DOMcustom'
				},
				{
					id: 9,
					title: '热门旅游城市',
					url: 'zy/js/JS-DOMHotCity'
				},
				{
					id: 10,
					title: '轮播图初级',
					url: 'zy/js/JS-DOMautoplay'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 307,
			id: 'j-7',
			name: '定时器',
			description: '学习使用三种定时器,并且了解同步异步以及事件轮询概念',
			learnMore: [
				{
					id: 1,
					title: '事件循环',
					url:
						'https://www.bilibili.com/video/BV1K4411D7Jb?spm_id_from=333.1007.top_right_bar_window_default_collection.content.click&vd_source=1a56e48c63d7ce008832492049f44156'
				},
				{
					id: 2,
					title: '三种定时器',
					url: 'https://zhuanlan.zhihu.com/p/380405070'
				}
			],
			caseList: [
				{
					id: 1,
					title: '淘宝无缝轮播',
					url: 'zy/js/JS-wfAutoplay'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 308,
			id: 'j-8',
			name: 'Math数学对象',
			description: '学习使用Math对象,利用其进行计算,并且应用在项目里面',
			learnMore: [
				{
					id: 1,
					title: 'Math对象详解',
					url: 'http://c.biancheng.net/view/9358.html'
				}
			],
			caseList: [
				{
					id: 1,
					title: '背景随机变色',
					url: 'zy/js/JS-randomColor'
				},
				{
					id: 2,
					title: '双色球',
					url: 'zy/js/JS-doubleBall'
				},
				{
					id: 3,
					title: '圆周运动',
					url: 'zy/js/JS-RoundMove'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 309,
			id: 'j-9',
			name: 'Date日期对象',
			description: '学习使用Date对象,用Date完成一起日期操作,倒计时等等..',
			learnMore: [
				{
					id: 1,
					title: 'Date对象详解',
					url: 'https://zhuanlan.zhihu.com/p/490309780'
				}
			],
			caseList: [
				{
					id: 1,
					title: '倒计时',
					url: 'zy/js/JS-Countdown'
				},
				{
					id: 2,
					title: '翻转时钟',
					url: 'zy/js/JS-overturn'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 310,
			id: 'j-10',
			name: 'Array(数组)',
			description: '学习使用数组的api,掌握一些数组变量方法..',
			learnMore: [
				{
					id: 1,
					title: '数组API详解',
					url: 'https://blog.csdn.net/BBBBobo/article/details/121869585'
				}
			],
			caseList: [
				{
					id: 1,
					title: '数组排序',
					url: 'zy/js/JS-arraySort'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 311,
			id: 'j-11',
			name: '字符串API',
			description: '学习字符串API,对字符串进行操作',
			learnMore: [
				{
					id: 1,
					title: '字符串API详解',
					url: 'https://juejin.cn/post/7004612308055883784'
				}
			],
			caseList: [
				{
					id: 1,
					title: '查找替换',
					url: 'zy/js/JS-replace'
				},
				{
					id: 2,
					title: '字符加密',
					url: 'zy/js/JS-encryption'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 312,
			id: 'j-12',
			name: 'DOM的位置大小获取',
			description: '学习offset  clinent  scroll三个方法,并且了解他们的区别',
			learnMore: [
				{
					id: 1,
					title: 'offset、client、scroll三大系列详细分析',
					url: 'https://blog.csdn.net/m0_61843874/article/details/122194982'
				}
			],
			caseList: [
				{
					id: 1,
					title: '漂浮广告',
					url: 'zy/js/JS-folatBanner'
				},
				{
					id: 2,
					title: '侧边栏',
					url: 'zy/js/JS-siderBar'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 313,
			id: 'j-13',
			name: '事件对象',
			description: '学习时间对象的内容,了解事件的阶段,事件的级别,事件的兼容',
			learnMore: [
				{
					id: 1,
					title: '事件对象详解',
					url: 'https://www.cnblogs.com/bobonote/p/8137629.html'
				},
				{
					id: 2,
					title: '事件的三个阶段',
					url: 'https://www.jianshu.com/p/4466a8f64042'
				},
				{
					id: 3,
					title: '事件委托',
					url: 'https://www.jianshu.com/p/ff7ed15056e2'
				}
			],
			caseList: [
				{
					id: 1,
					title: '淘宝放大镜',
					url: 'zy/js/JS-Zoom'
				},
				{
					id: 2,
					title: '自定义滚动条',
					url: 'zy/js/JS-customSroll'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 314,
			id: 'j-14',
			name: 'ajax',
			description: '学习时间对象的内容,了解事件的阶段,事件的级别,事件的兼容',
			learnMore: [
				{
					id: 1,
					title: 'Ajax、Fetch、Axios三者的区别',
					url: 'https://juejin.cn/post/7086325194934976519'
				},
				{
					id: 2,
					title: 'Ajax跨域解决方案',
					url: 'https://juejin.cn/post/6844903536728211469'
				},
				{
					id: 3,
					title: 'Ajax详解',
					url: 'https://juejin.cn/post/6984348702626283556'
				},
				{
					id: 4,
					title: '网易云接口',
					url: 'http://iwenwiki.com/NeteaseCloudMusicApi/'
				},
				{
					id: 5,
					title: '几个常用接口',
					url: 'https://api.i-lynn.cn/'
				},
				{
					id: 6,
					title: 'JSON',
					url: 'https://www.jianshu.com/p/58f52ebf22fb'
				}
			],
			caseList: [
				{
					id: 1,
					title: '省市区级联选择器',
					url: 'zy/js/JS-Cascader '
				}
			]
		},
		{
			type: 'JavaScript',
			id: 'j-15',
			sort: 315,
			name: '正则表达式',
			description: '学习正则的api,以及正则的用法,以及正则的特殊字符',
			learnMore: [
				{
					id: 1,
					title: '正则详解',
					url: 'http://c.biancheng.net/view/5632.html'
				},
				{
					id: 2,
					title: '常用正则',
					url: 'https://juejin.cn/post/7025490351032893476'
				},
				{
					id: 3,
					title: '全面学习正则表达式 - 从原理到实战',
					url: 'https://juejin.cn/post/7121726642120032264'
				}
			],
			caseList: [
				{
					id: 1,
					title: '注册正则校验',
					url: 'zy/js/JS-register'
				}
			]
		},
		{
			type: 'JavaScript',
			id: 'j-16',
			sort: 316,
			name: '深拷贝',
			description: '了解深拷贝的概念,已经浅拷贝的缺点,学会封装深拷贝函数',
			learnMore: [
				{
					id: 1,
					title: '深拷贝与浅拷贝',
					url: 'https://juejin.cn/post/7134970746580762637'
				}
			],
			caseList: [
				{
					id: 1,
					title: '封装深拷贝函数'
				}
			]
		},
		{
			type: 'JavaScript',
			id: 'j-17',
			sort: 317,
			name: '防抖节流',
			description: '为什么要用防抖节流?如何改变this指向?如何封装防抖节流的函数?',
			learnMore: [
				{
					id: 1,
					title: 'JS的this指向',
					url: 'https://juejin.cn/post/6844903746984476686'
				},
				{
					id: 2,
					title: '手写防抖节流',
					url: 'https://juejin.cn/post/7164939151668674596'
				}
			],
			caseList: [
				{
					id: 1,
					title: '鼠标泡泡跟随',
					url: 'zy/js/JS-mouseFlow'
				}
			]
		},
		{
			type: 'JavaScript',
			id: 'j-18',
			sort: 318,
			name: 'BOM与严格模式',
			description: 'BOM是什么?严格模式是什么?了解页面跳转的多个方法',
			learnMore: [
				{
					id: 1,
					title: 'BOM对象有哪些',
					url: 'https://juejin.cn/post/7116113618550292516'
				},
				{
					id: 2,
					title: '严格模式',
					url: 'https://juejin.cn/post/6844904129442086925'
				}
			],
			caseList: [
				{
					id: 1,
					title: '随机跳转页面',
					url: 'zy/js/JS-randomJump'
				}
			]
		},
		{
			type: 'JavaScript',
			sort: 319,
			id: 'j-19',
			name: '本地缓存',
			description: '知道本地缓存的改变,并且多种缓存的区别,封装使用cookie',
			learnMore: [
				{
					id: 1,
					title: '本地缓存基础',
					url: 'https://blog.csdn.net/m0_64564920/article/details/124221030'
				},
				{
					id: 2,
					title: '本地缓存详解',
					url: 'https://blog.csdn.net/Devil_ErKang/article/details/124024402'
				}
			],
			caseList: [
				{
					id: 1,
					title: '百度注册登录模仿',
					url: 'zy/js/JS-baidulogin'
				}
			]
		},
	
		{
			type: 'JavaScript',
			id: 'j-20',
			sort: 320,
			name: '构造函数和类',
			description: '懂得构造函数跟类的概念,并且能用其封装,继承的特性',
			learnMore: [
				{
					id: 1,
					title: '面向对象构造函数',
					url: 'https://juejin.cn/post/7057073251242999844'
				},
				{
					id: 2,
					title: '类详解',
					url: 'https://es6.ruanyifeng.com/#docs/class2'
				},
				{
					id: 3,
					title: '类的继承',
					url: 'https://es6.ruanyifeng.com/#docs/class-extends'
				}
			],
			caseList: [
				{
					id: 1,
					title: '类实现选项卡继承',
					url: 'zy/js/JS-classTab'
				}
			]
		},
		{
			type: 'JavaScript',
			id: 'j-21',
			sort: 321,
			name: 'ES6',
			description: '了解js历史和ES的概念,学习一系列ES6以后更新的内容',
			learnMore: [
				{
					id: 1,
					title: '阮一峰ES6入门',
					url: 'https://es6.ruanyifeng.com/'
				},
				{
					id: 2,
					title: '1.5万字概括ES6全部特性(已更新ES2020)',
					url: 'https://juejin.cn/post/6844903959283367950'
				},
				{
					id: 3,
					title: '设计模式',
					url: 'https://juejin.cn/post/6844904032826294286'
				},
				{
					id: 4,
					title: 'Promise',
					url: 'https://juejin.cn/post/7144308012952322084'
				}
			],
			caseList: [
				{
					id: 1,
					title: '随机生成地址',
					url: 'zy/js/JS-randomAddress'
				}
			]
		},
		{
			type: 'JavaScript',
			id: 'j-21',
			sort: 321,
			name: 'Proxy',
			description: '了解proxy数据代理,初步模拟数据驱动页面',
			learnMore: [
				{
					id: 1,
					title: 'Reflect 和 Proxy',
					url: 'https://juejin.cn/post/6844903790739456013'
				},
				{
					id: 2,
					title: '数据驱动、组件化',
					url: 'https://juejin.cn/post/6844903631066513422'
				}
			],
			caseList: [
				{
					id: 1,
					title: '数据驱动页面',
					url: 'zy/js/JS-Proxy'
				}
			]
		},
		{
			type: 'JavaScript',
			id: 'j-21',
			sort: 322,
			name: '模块化',
			description: '了解模块化的概念,并且了解各种导入导出的用法',
			learnMore: [
				{
					id: 1,
					title: '模块化详解',
					url: 'https://juejin.cn/post/6844903744518389768#heading-39'
				}
			],
			caseList: [
				{
					id: 1,
					title: '飞机大战',
					url: 'http://image.hnclove.com/hnclove/aircraftBattle'
				}
			]
		}
	];
	let vueList = [
		{
			type: 'Vue',
			id: 'v-1',
			sort: 401,
			name: 'vue基础指令',
			description: '学会引用vue,并且使用vue的基础指令',
			learnMore: [
				{
					id: 1,
					title: 'MVVM与MVC',
					url: 'https://baijiahao.baidu.com/s?id=1739036253741090323&wfr=spider&for=pc'
				},
				{
					id: 2,
					title: 'vue基础指令',
					url: 'https://www.jianshu.com/p/192c42aa470c'
				},
				{
					id: 3,
					title: 'vue双向绑定原理',
					url: 'https://www.cnblogs.com/canfoo/p/6891868.html'
				},
				{
					id: 4,
					title: 'vue知识汇总',
					url: 'https://blog.csdn.net/yuandawang/article/details/122213080'
				},
				{
					id: 5,
					title: 'vue-diff算法',
					url: 'https://zhuanlan.zhihu.com/p/225105999'
				}
			],
			caseList: [
				{
					id: 1,
					title: '变色评论区',
					url: 'zy/vue/Vue-remark'
				}
			]
		},
		{
			type: 'Vue',
			id: 'v-2',
			sort: 402,
			name: 'vue脚手架(vue-cli)',
			description: '学会使用vuecli创建项目,并且打包项目',
			learnMore: [
				{
					id: 1,
					title: 'vue脚手架使用',
					url: 'https://www.jianshu.com/p/87f78d806b76'
				},
				{
					id: 2,
					title: 'vue与vuecli的区别',
					url: 'https://blog.csdn.net/weixin_44226391/article/details/125742696'
				},
				{
					id: 3,
					title: '认识Vue脚手架',
					url: 'https://juejin.cn/post/6869067224465408008'
				}
			],
			caseList: [
				{
					id: 1,
					title: '学生信息系统',
					url: 'zy/vue/Vue-studengMsg'
				}
			]
		},
		{
			type: 'Vue',
			id: 'v-3',
			sort: 403,
			name: 'vue表单数据',
			description: '学会使用vue配合原生的form收集数据',
			learnMore: [
				{
					id: 1,
					title: 'vue表单数据与Ref',
					url: 'https://juejin.cn/post/6994603032801460261'
				},
				{
					id: 2,
					title: 'vue表单数据绑定方法',
					url: 'https://cn.vuejs.org/guide/essentials/forms.html'
				}
			],
			caseList: [
				{
					id: 1,
					title: '个人信息完善',
					url: 'zy/vue/Vue-peopleMsg'
				}
			]
		},
		{
			type: 'Vue',
			id: 'v-4',
			sort: 404,
			name: '计算监听过滤',
			description: '学会使用计算(computed),监听(watch),过滤(filter)三个属性处理数据',
			learnMore: [
				{
					id: 1,
					title: '计算与监听属性',
					url: 'https://juejin.cn/post/6844903864559206414'
				},
				{
					id: 2,
					title: '过滤器',
					url: 'https://juejin.cn/post/6971598335329173517'
				}
			],
			caseList: [
				{
					id: 1,
					title: '简易购物车',
					url: 'zy/vue/Vue-easeShopCar'
				}
			]
		},
		{
			type: 'Vue',
			id: 'v-5',
			sort: 405,
			name: '组件与组件通信',
			description: '学会使用组件,并且学会各个层次的组件通信',
			learnMore: [
				{
					id: 1,
					title: '组件详解',
					url: 'https://zhuanlan.zhihu.com/p/355053530'
				},
				{
					id: 2,
					title: 'vuecli自定义组件',
					url: 'https://www.jb51.net/article/240711.htm'
				},
				{
					id: 3,
					title: 'vue中八种组件通信',
					url: 'https://juejin.cn/post/6844903887162310669'
				},
				{
					id: 4,
					title: 'provide/inject优缺点',
					url: 'https://zhuanlan.zhihu.com/p/147798646'
				}
			],
			caseList: [
				{
					id: 1,
					title: '鞋子卖场',
					url: 'zy/vue/Vue-computents'
				}
			]
		},
		{
			type: 'Vue',
			id: 'v-6',
			sort: 406,
			name: '生命周期',
			description: '了解生命周期的概念,每个生命周期该做什么?',
			learnMore: [
				{
					id: 1,
					title: 'vue生命周期',
					url: 'https://juejin.cn/post/6973852307024773127'
				},
				{
					id: 2,
					title: '生命周期做什么',
					url: 'https://juejin.cn/post/7032881219524100132#heading-6'
				}
			],
			caseList: [
				{
					id: 1,
					title: '思考?父子组件生命周期如何运行?',
					url: ''
				}
			]
		},
		{
			type: 'Vue',
			id: 'v-7',
			sort: 407,
			name: 'vue插件与组件库',
			description: '了解什么是插件与组件库,以及如何在vue中使用插件与组件库,常用与组件库有哪些?',
			learnMore: [
				{
					id: 1,
					title: 'element组件库',
					url: 'https://element.eleme.cn/#/zh-CN'
				},
				{
					id: 2,
					title: 'axios',
					url: 'https://www.axios-http.cn/'
				},
				{
					id: 3,
					title: 'axios封装使用',
					url: 'https://juejin.cn/post/7089214265084772388'
				}
			],
			caseList: [
				{
					id: 1,
					title: '地址选择',
					url: 'zy/vue/Vue-address'
				}
			]
		},
		{
			type: 'Vue',
			id: 'v-8',
			sort: 408,
			name: 'vueX',
			description: '了解vuex的概念与功能,通过vuex管理全局数据',
			learnMore: [
				{
					id: 1,
					title: 'Vuex学习笔记',
					url: 'https://juejin.cn/post/7035249115391295525'
				},
				{
					id: 2,
					title: 'Vuex持久化',
					url: 'https://juejin.cn/post/6888238640401481741'
				},
				{
					id: 3,
					title: 'vuex中actions和mutation有什么区别',
					url: 'https://www.yisu.com/zixun/170292.html'
				}
			],
			caseList: [
				{
					id: 1,
					title: 'element学生信息统计',
					url: 'zy/vue/Vue-elementTest'
				}
			]
		},
		{
			type: 'Vue',
			id: 'v-9',
			sort: 409,
			name: '路由(vue-router)',
			description: '了解路由的概念与功能,并且熟悉使用路由以及路由的嵌套',
			learnMore: [
				{
					id: 1,
					title: 'Vue路由基本使用',
					url: 'https://zhuanlan.zhihu.com/p/401704541'
				},
				{
					id: 2,
					title: 'Vue-Router',
					url: 'https://router.vuejs.org/zh/guide/#html'
				},
				{
					id: 3,
					title: '前端路由简介以及vue-router实现原理',
					url: 'https://juejin.cn/post/6844903615283363848'
				},
				{
					id: 4,
					title: 'Vue路由 hash 与 history 差异',
					url: 'https://juejin.cn/post/7096034733649297421'
				},
				{
					id: 5,
					title: 'vue动态路由配置',
					url: 'https://blog.csdn.net/qq_44302255/article/details/124220014'
				}
			],
			caseList: [
				{
					id: 1,
					title: '模仿网易云',
					url: 'https://music.163.com/'
				}
			]
		},
		{
			type: 'Vue',
			id: 'v-10',
			sort: 410,
			name: 'vue插槽(slot)',
			description: '学习使用插槽,了解三种插槽的用法',
			learnMore: [
				{
					id: 1,
					title: 'vue插槽（slot）详解',
					url: 'https://zhuanlan.zhihu.com/p/114502325'
				}
			],
			caseList: [
				{
					id: 1,
					title: '颜色改变',
					url: 'zy/vue/Vue-slot'
				}
			]
		},
		{
			type: 'Vue',
			id: 'v-11',
			sort: 411,
			name: 'vue动画',
			description: '学习使用vue动画,并且结合animation.css使用动画',
			learnMore: [
				{
					id: 1,
					title: 'Vue动画',
					url: 'https://juejin.cn/post/6844904050203295751'
				},
				{
					id: 2,
					title: 'Vue动画-更详细',
					url: 'https://blog.csdn.net/weixin_46724415/article/details/122581308'
				}
			],
			caseList: [
				{
					id: 1,
					title: '图片显示隐藏',
					url: 'zy/vue/Vue-imgShow'
				},
				{
					id: 2,
					title: '小球加入购物车动画',
					url: 'zy/vue/Vue-ballToCar'
				},
				{
					id: 3,
					title: '动画添加删除列表',
					url: 'zy/vue/Vue-addRemove'
				}
			]
		}
	];
	let appletList = [
		{
			type: 'applet',
			id: 'a-17',
			sort: 517,
			name: 'uniapp',
			description: '学会引用vue,并且使用vue的基础指令',
			learnMore: [
				{
					id: 1,
					title: 'uniapp小程序开发的超长实践总结！',
					url: 'https://juejin.cn/post/7020680215009427470#heading-15'
				},
				{
					id: 2,
					title: 'uniapp微信小程序支付',
					url: 'https://juejin.cn/post/7068855727216918536'
				}
			],
			caseList: [
				{
					id: 1,
					title: 'uniapp商城文档',
					url: 'zy/applet/uni-document/index.html'
				},
				{
					id: 2,
					title: 'uniapp商城案例',
					url: 'http://hnclove.com/uniapp-demo.zip'
				}
			]
		},
		{
			type: 'applet',
			id: 'a-8',
			sort: 508,
			name: '小程序基础组件',
			description: '基础的使用',
			learnMore: [
				{
					id: 1,
					title: '微信开发者文档',
					url: 'https://developers.weixin.qq.com/miniprogram/dev/framework/'
				},
				{
					id: 2,
					title: 'uniapp文档',
					url: 'https://uniapp.dcloud.net.cn/'
				}
			],
			caseList: [
				{
					id: 1,
					title: '基础案例',
					url: 'zy/applet/base-demo'
				}
			]
		},
		{
			type: 'applet',
			id: 'a-9',
			sort: 509,
			name: '小程序表单组件',
			description: '基础的使用',
			learnMore: [
				{
					id: 1,
					title: '小程序表单控件',
					url: 'https://juejin.cn/post/6878661112037343246'
				}
			],
			caseList: [
				{
					id: 1,
					title: '简易购物车',
					url: 'zy/applet/easy-shopcar'
				}
			]
		},
		{
			type: 'applet',
			id: 'a-10',
			sort: 510,
			name: '小程序请求等等',
			description: '小程序发送请求,下拉刷新,上拉加载,tabbar导航配置',
			learnMore: [
				{
					id: 1,
					title: '小程序请求封装',
					url: 'https://juejin.cn/post/7032557610431676430'
				},
				{
					id: 2,
					title: '小程序触底加载与下拉刷新功能',
					url: 'https://juejin.cn/post/7101820398253113351'
				},
				{
					id: 3,
					title: '小程序tabbar,navbar',
					url: 'https://juejin.cn/post/6844903760448225294#heading-6'
				}
			],
			caseList: [
				{
					id: 1,
					title: '网易云',
					url: 'zy/applet/wyy-music'
				}
			]
		},
		{
			type: 'applet',
			id: 'a-11',
			sort: 511,
			name: '自定义组件',
			description: '小程序自定义组件,以及通信,插槽',
			learnMore: [
				{
					id: 1,
					title: '自定义组件相关',
					url: 'https://juejin.cn/post/6844903668743929869'
				}
			],
			caseList: [
				{
					id: 1,
					title: '颜色控制器',
					url: 'zy/applet/color-control'
				}
			]
		},
		{
			type: 'applet',
			id: 'a-12',
			sort: 512,
			name: '小程序使用第三方包',
			description: '小程序自定义tabbar,promise化,全局数据共享mobx,第三方库vant',
			learnMore: [
				{
					id: 1,
					title: '小程序使用vantweapp',
					url: 'https://vant-contrib.gitee.io/vant-weapp/#/quickstart#bu-zou-yi-tong-guo-npm-an-zhuang'
				},
				{
					id: 2,
					title: '小程序Promise 化',
					url: 'https://www.jianshu.com/p/261fa7886f3e'
				},
				{
					id: 3,
					title: '全局数据共享',
					url: 'https://blog.csdn.net/m0_61631823/article/details/123929014'
				},
				{
					id: 4,
					title: '小程序分包',
					url: 'https://www.jianshu.com/p/d32a319a0fff'
				},
				{
					id: 5,
					title: '自定义tarbar',
					url: 'https://developers.weixin.qq.com/miniprogram/dev/framework/ability/custom-tabbar.html'
				}
			],
			caseList: [
				{
					id: 1,
					title: '音乐收藏夹',
					url: 'zy/applet/music-buy'
				}
			]
		}
	];
	
	let dataList = [].concat(htmlList, cssList, jsList, vueList, appletList);
	
	// title, type, url, logo_url, link_type, description
	let arr11 = [];
	
	for (let i = 0; i < dataList.length; i++) {
		for (let b = 0; b < dataList[i].caseList.length; b++) {
			let item = dataList[i].caseList[b];
			let obj = {
				title: item.title,
				type: aa[dataList[i].type],
				description: dataList[i].description,
				link_type: 3,
				url: item.url
			};
			arr11.push(obj);
		}
		for (let b = 0; b < dataList[i].learnMore.length; b++) {
			let item = dataList[i].learnMore[b];
			console.log(item.title);
			let obj = {
				title: item.title,
				type: aa[dataList[i].type],
				description: dataList[i].description,
				link_type: 5,
				url: item.url
			};
			arr11.push(obj);
		}
	}
	
	for (let i = 0; i < arr11.length; i++) {
		let params = arr11[i]
		postData('/link/add', params)
			.then(res => {
				console.log(res);
			});
	}
	console.log(111, arr11);
	
	console.log(dataList);
}
let {elementUrl,mintUrl,juejin,jianshu,zhihu,csdn} = {}
export function add2(){
	console.log('add2执行');
	let search = [
		// type  技术 项目  框架  接口 面试题
		{
			id:1,
			type:'项目',
			title:'医疗服务后台管理系统',
			url: 'zy/other/vue-emp/index.html',
			logoUrl:'',
			description:`用于给医院管理医生权限,以及病人病历,住院,体检信息的系统`
		},
		{
			id:2,
			type:'框架',
			title:'Element-vue2',
			url: 'https://element.eleme.cn/#/zh-CN',
			logoUrl:elementUrl,
			description:`Element，一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库`
		},
		{
			id:3,
			type:'框架',
			title:'Mint-UI',
			logoUrl:mintUrl,
			url: 'http://mint-ui.github.io/#!/zh-cn',
			description:`基于 Vue.js 的移动端组件库`
		},
		{
			id:4,
			type:'框架',
			title:'Vant-UI',
			url: 'https://youzan.github.io/vant/v2/#/zh-CN/',
			logoUrl:'https://img01.yzcdn.cn/vant/logo.png',
			description:`轻量、可靠的移动端 Vue 组件库`
		},
		{
			id:5,
			type:'框架',
			title:' Ant Design Vue',
			url: 'https://2x.antdv.com/components/overview-cn/',
			logoUrl:'https://aliyuncdn.antdv.com/v2/assets/logo.1ef800a8.svg',
			description:`ant-design-vue 是 Ant Design 的 Vue 实现，组件的风格与 Ant Design 保持同步，组件的 html 结构和 css 样式也保持一致，真正做到了样式 0 修改，组件 API 也尽量保持了一致`
		},
		{
			id:6,
			type:'框架',
			title:'Uniapp',
			url: 'https://uniapp.dcloud.net.cn/',
			logoUrl:'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-f184e7c3-1912-41b2-b81f-435d1b37c7b4/1ae87107-2943-4ba6-be2b-390ca27c6260.png',
			description:`uni-app 是一个使用 Vue.js 开发所有前端应用的框架，开发者编写一套代码，可发布到iOS、Android、Web（响应式）、以及各种小程序（微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝）、快应用等多个平台。`
		},
		{
			id:7,
			type:'框架',
			title:'JEECG',
			url: 'http://www.jeecg.com/',
			logoUrl:'http://www.jeecg.com/images/logo.png',
			description:`JeecgBoot是一款基于BPM的低代码平台！前后端分离架构 SpringBoot 2.x，SpringCloud，Ant Design&Vue，Mybatis-plus，Shiro，JWT，支持微服务。`
		},
		{
			id:8,
			type:'接口',
			title:'网易云音乐API文档',
			url: 'http://iwenwiki.com/NeteaseCloudMusicApi/',
			logoUrl:'http://image.hnclove.com/hnclove/wyy.png',
			description:`网易云音乐接口文档此文档来源于github，具体参考主站`
		},
		{
			id:9,
			type:'接口',
			title:'UomgAPI',
			url: 'https://api.uomg.com/',
			description:`稳定、快速、免费的 API 接口服务共收录了 51 个接口项目`
		},
		{
			id:10,
			type:'接口',
			title:'疫情文档接口',
			url: 'http://iwenwiki.com/wapicovid19/',
			description:`疫情文档接口`
		},
		{
			id:11,
			type:'技术',
			title:'宝塔面板搭建网易云音乐API',
			url: 'https://www.haah.net/archives/7068.html',
			description:`教大家如何使用宝塔面板搭建网易云音乐API，`
		},
		{
			id:12,
			type:'接口',
			title:'小程序移动端商城接口',
			url: 'https://www.showdoc.com.cn/128719739414963',
			description:`一款能应用到小程序或者移动端的公开接口`
		},
		{
			id:13,
			type:'UI',
			title:'APP-UI界面',
			url: 'https://huaban.com/boards/39772249',
			logoUrl:'https://st0.dancf.com/static/02/202201151128-a455.svg',
			description:`花瓣网的UI设计界面,能参考ui界面的设计`
		},
		{
			id:14,
			type:'UI',
			title:'花瓣网',
			url: 'https://huaban.com/follow',
			logoUrl:'https://st0.dancf.com/static/02/202201151128-a455.svg',
			description:`做UI的网站,里面有很多的UI素材`
		},
		{
			id:15,
			type:'UI',
			title:'大气的UI网站首页',
			url: 'https://baijiahao.baidu.com/s?id=1694094469408412239&wfr=spider&for=pc',
			description:`分享|国外29个干净简洁大气的漂亮网站首页设计`
		},
		{
			id:16,
			type:'面试题',
			title:'六年前端面试',
			url: 'https://juejin.cn/post/7158019029163048974#heading-3',
			logoWidth:'40px',
			logoUrl:juejin,
			description:`普通三本，六年前端面试经历`
		},
		{
			id:17,
			type:'框架',
			title:'content-visibility',
			url: 'https://juejin.cn/post/7168629736838463525',
			logoWidth:'40px',
			logoUrl:juejin,
			description:`两行CSS让页面提升了近7倍渲染性能！`
		},
		{
			id:18,
			type:'面试题',
			title:'前端八股文',
			url: 'https://juejin.cn/post/7016593221815910408',
			logoWidth:'40px',
			logoUrl:juejin,
			description:`连八股文都不懂还指望在前端混下去么`
		},
		{
			id:19,
			type:'项目',
			title:'vue3练习',
			url: 'https://juejin.cn/post/7144929568132956174',
			logoWidth:'40px',
			logoUrl:juejin,
			description:`50天用vue3完成了50个web项目，我学到了什么?`
		},
		{
			id:20,
			type:'技术',
			title:'Vue2响应式原理',
			url: 'https://juejin.cn/post/6935344605424517128',
			logoWidth:'40px',
			logoUrl:juejin,
			description:` 本篇主要介绍响应式数据的原理`
		},
		{
			id:21,
			type:'面试题',
			title:'vue面试题',
			url: 'https://juejin.cn/post/6961222829979697165',
			logoWidth:'40px',
			logoUrl:juejin,
			description:`最全的 Vue 面试题+详解答案`
		},
		{
			id:22,
			type:'技术',
			title:'白嫖视频VIP',
			url: 'https://juejin.cn/post/6942329992311373832',
			logoWidth:'40px',
			logoUrl:juejin,
			description:`视频网站：充钱你就是VIP。我：不好意思我是程序员`
		},
		{
			id:23,
			type:'面试题',
			title:'30+Vue面试题',
			url: 'https://juejin.cn/post/6930897845369356295',
			logoWidth:'40px',
			logoUrl:juejin,
			description:`化身面试官出30+Vue面试题，超级干货（附答案）｜牛气冲天新年征文`
		},
		{
			id:24,
			type:'技术',
			title:'移动端H5坑位指南 ',
			url: 'https://juejin.cn/post/6921886428158754829',
			logoWidth:'40px',
			logoUrl:juejin,
			description:`中高级前端必须注意的40条移动端H5坑位指南 | 网易三年实践`
		},
		{
			id:25,
			type:'框架',
			title:'ES2021新特性',
			url: 'https://juejin.cn/post/6923026786825699341',
			logoWidth:'40px',
			logoUrl:juejin,
			description:`ES2021 带来的新特性`
		},
		{
			id:26,
			type:'面试题',
			title:'前端300基础面试题',
			url: 'https://juejin.cn/post/6914831351271292936',
			logoWidth:'40px',
			logoUrl:juejin,
			description:`震惊！前端300基础面试题+答案、分类学习整理（良心制作）持续更新`
		},
		{
			id:27,
			type:'技术',
			title:'移动端vue项目模板',
			url: 'https://www.jianshu.com/p/a9401aa5219c',
			logoWidth:'60px',
			logoUrl:jianshu,
			description:`移动端vue项目模板`
		},
		{
			id:28,
			type:'技术',
			title:'vue轮播图',
			url: 'https://www.jianshu.com/p/03f9fa94c474',
			logoWidth:'60px',
			logoUrl:jianshu,
			description:`vue-awesome-swiper的正确使用姿势`
		},
		{
			id:29,
			type:'技术',
			title:'在线扒站工具',
			url: 'https://bazhan.wang/',
			description:`一键将指定网页的HTML、CSS、JS等前端资源打包下载`
		},
		{
			id:30,
			type:'技术',
			title:'解决vue-cli 3.x打包后空白页面',
			url: 'https://zhuanlan.zhihu.com/p/163776282',
			logoWidth:'60px',
			logoUrl:zhihu,
			description:`解决vue-cli 3.x打包后空白页面`
		},
		{
			id:31,
			type:'技术',
			title:'vue使用svg',
			url: 'https://www.jianshu.com/p/ac480fdf1fdb',
			logoWidth:'60px',
			logoUrl:jianshu,
			description:`在vue中使用svg`
		},
		{
			id:32,
			type:'技术',
			title:'h5打包小程序,H5',
			url: 'https://blog.csdn.net/weixin_39600291/article/details/111760555',
			logoUrl:csdn,
			description:`h5是可以一键打包小程序的_微信小程序一键生成web的H5`
		},
		{
			id:33,
			type:'技术',
			title:'vue动态路由',
			url: 'https://blog.csdn.net/qq_44302255/article/details/124220014',
			logoUrl:csdn,
			description:`动态获取菜单和路由及路由守卫`
		},
		{
			id:34,
			type:'技术',
			title:'element-ui全局主题',
			url: 'https://blog.csdn.net/s18438610353/article/details/124342146',
			logoUrl:csdn,
			description:`前端项目review之修改element-ui全局主题颜色配置element-theme-chalk和gulp`
		},
		{
			id:35,
			type:'技术',
			title:'JavaScript 教程',
			url: 'https://wangdoc.com/javascript/basic/',
			description:`本教程全面介绍 JavaScript 核心语法，覆盖了 ES5 和 DOM 规范的所有内容。`
		},
		{
			id:36,
			type:'技术',
			title:'ES6 教程',
			url: 'https://wangdoc.com/es6/',
			description:`覆盖 ES6 与上一个版本 ES5 的所有不同之处，对涉及的语法知识给予详细介绍，并给出大量简洁易懂的示例代码`
		},
		{
			id:37,
			type:'技术',
			title:'最全的ASCII码对照表',
			url: 'https://blog.csdn.net/weixin_39805338/article/details/80810500?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-3',
			logoUrl:csdn,
			description:`最全的ASCII码对照表`
		},
		{
			id:38,
			type:'技术',
			title:'Emmet插件及用法',
			url: 'https://www.jianshu.com/p/710b15281d56',
			logoWidth:'60px',
			logoUrl:jianshu,
			description:`但今天介绍一个神器——Emmet，它的前身是 Zen coding，作为插件被广泛程序员使用。它利用了类 CSS 代码的编写方式能够快速地生成对应的 HTML 代码，进一步提升编写 HTML 的效率。`
		},
		{
			id:39,
			type:'技术',
			title:'JSAPI结合Vue使用',
			url: 'https://lbs.amap.com/api/jsapi-v2/guide/webcli/map-vue1',
			logoUrl:'https://lbs.amap.com/public/img/logo_2022_pc_2x.png',
			description:` 本文主要讲述 JSAPI 与Vue 结合使用，Vue 是一套用于构建用户界面的渐进式前端框架。本文可以帮助您轻松的把地图接入到 Vue 项目中。如果您有更复杂的需求，您同样可以自定义一个地图组件，然后根据 JSAPI 做高德地图允许你做的一切事情。下面将介绍 JSAPI 基于 Vue 组件的完整示例。`
		},
		{
			id:40,
			type:'技术',
			title:'事件循环',
			url: 'https://www.bilibili.com/video/BV1K4411D7Jb/?spm_id_from=333.1007.top_right_bar_window_default_collection.content.click&vd_source=1a56e48c63d7ce008832492049f44156',
			logoWidth:'50px',
			logoUrl:'https://img0.baidu.com/it/u=1707010789,2818091167&fm=253&fmt=auto&app=120&f=JPEG?w=548&h=461',
			description:`【事件循环】【前端】事件原理讲解，超级硬核，忍不住转载`
		},
		{
			id:41,
			type:'面试题',
			title:'前端基础题',
			url: 'https://juejin.cn/post/6844904184962105357',
			logoWidth:'40px',
			logoUrl:juejin,
			description:`JavaScript中有很多重要特性及概念。比如原型,原型链,this,闭包,作用域,隐式转换等等。如果不能熟练掌握,在进阶中级前端开发工程师的道路上必定是困难重重`
		},
		{
			id:42,
			type:'框架',
			title:'DataV',
			url: 'http://datav.jiaminghi.com/',
			logoUrl:'http://datav.jiaminghi.com/favicon.ico',
			description:`Vue 大屏数据展示组件库`
		},
		{
			id:43,
			type:'技术',
			title:'ES6入门-阮一峰',
			url: 'https://es6.ruanyifeng.com/',
			description:`《ECMAScript 6 入门教程》是一本开源的 JavaScript 语言教程，全面介绍 ECMAScript 6 新引入的语法特性。`
		},
		{
			id:44,
			type:'技术',
			title:'Electron+vue',
			url: 'https://juejin.cn/post/6914831351271292936',
			logoWidth:'60px',
			logoUrl:'https://www.cncsto.com/static/lib//juejin/images/logo.png',
			description:`手把手教你 Electron + Vue 搭建前端桌面应用`
		},
		{
			id:45,
			type:'技术',
			title:'vue,sass和less全局配置',
			url: 'https://blog.csdn.net/Suk__/article/details/123463258?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-123463258-blog-122289394.pc_relevant_recovery_v2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-123463258-blog-122289394.pc_relevant_recovery_v2&utm_relevant_index=2',
			logoUrl:csdn,
			description:`vueconfig.js中sass和less全局样式自动引入配置`
		}
	]
	let arr = []
	for (let i = 0; i < search.length; i++) {
		let item = search[i]
		let link_type = 0
		if(item.type=='技术'){
			link_type=6
		}
		if(item.type=='框架'){
			link_type=10
		}
		if(item.type=='面试题'){
			link_type=8
		}
		if(item.type=='项目'){
			link_type=7
		}
		if(item.type=='接口'){
			link_type=12
		}
		let obj = {
			title: item.title,
			type: 0,
			description: item.description,
			link_type:link_type*1,
			url: item.url
		};
		arr.push(obj)
	}
	
	console.log(arr);
	
	for (let i = 0; i < arr.length; i++) {
		let params = arr[i]
	
		postData('/link/add', params)
			.then(res => {
				console.log(res);
			});
	}
}